package com.hspedu.newData.dmsxl.链表.遍历;

import com.hspedu.newData.dmsxl.ds.ListNode;

/**
 * @Author: yh
 * @description: 
 * @CreateTime: 2025-04-27 
 * @Version: 1.0
 */

// todo
public class LC2两数相加 {

    public ListNode addTwoNumbers(ListNode l1, ListNode l2) {

        ListNode head = null,tail = null;
        int i = 0;
        while(l1 != null || l2 != null){
            int i1 = l1 != null ? l1.val : 0;
            int i2 = l2 != null ? l2.val : 0;
            int sum = (i1 + i2 + i);

            if (head == null){
                head = tail = new ListNode(sum%10);
            }else {
                tail.next = new ListNode(sum%10);
                tail = tail.next;
            }

            i = sum / 10;

            if (l1 != null){
                l1 = l1.next;
            }
            if (l2 != null){
                l2 = l2.next;
            }
        }

        if (i != 0){
            tail.next = new ListNode(i);
        }

        return head;
    }

}
